package com.luoran.car.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import jnr.ffi.annotations.In;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;


/**
 * 客户表
 * @TableName SYSCUSTOMER
 */
@TableName(value ="SYSCUSTOMER")
@Data
public class Syscustomer implements Serializable {
    /**
     * 唯一标识的客户ID
     */
    @TableId
    @ExcelProperty(value = "唯一标识的客户ID")
    private Integer customerId;

    /**
     * 客户名称
     */
    @ExcelProperty(value = "客户名称")
    private String customerName;

    /**
     * 客户的出生日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @ExcelProperty(value = "客户的出生日期")
    private Date birthTime;

    /**
     * 客户的电子邮箱
     */
    @ExcelProperty(value = "客户的电子邮箱")
    private String email;

    /**
     * 客户的联系电话
     */
    @ExcelProperty(value = "客户的联系电话")
    private String customerPhone;

    /**
     * 客户的居住地址
     */
    private String address;

    /**
     * 客户的驾驶执照
     */
    private String customerLicense;

    /**
     * 客户车辆id
     */
    @ExcelIgnore
    private Integer vehicleId;

    /**
     * 客户首选语言
     */
    private String preferredLanguage;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 客户账户状态(0.正常1.停用
     */
    @ExcelProperty(value = "客户账户状态")
    private Integer customerStatus;

    /**
     * 客户支付状态(0.信用卡1.电子支付
     */
    @ExcelProperty(value = "客户支付状态")
    private Integer paymentMethod;

    /**
     * 客户的会员等级
     */
    @ExcelProperty(value = "客户的会员等级")
    private String membershipLevel;

    /**
     * 紧急联系人姓名
     */
    @ExcelProperty(value = "紧急联系人姓名")
    private String emergencyName;

    /**
     * 紧急联系人电话
     */
    @ExcelProperty(value = "紧急联系人电话")
    private String emergencyPhone;

    /**
     * 其他需要记录的备注信息
     */
    @ExcelProperty(value = "其他需要记录的备注信息")
    private String additionalNotes;

    /**
     * 客户头像
     */
    @ExcelIgnore
    private String avatar;

    /**
     * 客户登录名称
     */
    @ExcelIgnore
    private String customerLogin;

    /**
     * 客户登录密码
     */
    @ExcelIgnore
    private Integer password;
    /**
     * 客户性别
     */
    @ExcelProperty(value = "客户性别")
    private Integer sex;

    /**
     * 省id
     */
    @ExcelIgnore
    private Integer xid;

    /**
     * 市id
     */
    @ExcelIgnore
    private Integer sid;

    /**
     * 区id
     */
    @ExcelIgnore
    private Integer qid;

    /**
     * 拓展字段
     */
    @TableField(exist = false)
    @ExcelIgnore
    private String phone;

    @TableField(exist = false)
    @ExcelIgnore
    private String ephone;

    @TableField(exist = false)
    @ExcelProperty(value = "车辆名称")
    private String vehicleBrand;

    @ExcelIgnore
    @TableField(exist = false)
    private Integer provinceId;

    @ExcelIgnore
    @TableField(exist = false)
    private Integer cityId;

    @ExcelIgnore
    @TableField(exist = false)
    private Integer districtId;

    @TableField(exist = false)
    @ExcelProperty(value = "省名称")
    private String provinceName;

    @TableField(exist = false)
    @ExcelProperty(value = "区名称")
    private String cityName;

    @TableField(exist = false)
    @ExcelProperty(value = "市名称")
    private String districtName;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}

